home *** CD-ROM | disk | FTP | other *** search
/ Tech Win 1995 November / CD [TECH_B].bin / tech_b / delphi / trial / disk4 / doc.pak / STDCTRLS.INT < prev    next >
Encoding:
Text File  |  1995-08-08  |  17.6 KB  |  617 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {       Delphi Visual Component Library                 }
  4. {                                                       }
  5. {       Copyright (c) 1995 Borland International        }
  6. {                                                       }
  7. {*******************************************************}
  8.  
  9. unit StdCtrls;
  10.  
  11. {$S-,W-,R-}
  12. {$C PRELOAD}
  13.  
  14. interface
  15.  
  16. uses WinTypes, WinProcs, Messages, SysUtils, Classes, Controls, Forms, Menus,
  17.   Graphics;
  18.  
  19. type
  20.   TCustomGroupBox = class(TCustomControl)
  21.   protected
  22.     procedure AlignControls(AControl: TControl; var Rect: TRect); override;
  23.     procedure Paint; override;
  24.   public
  25.     constructor Create(AOwner: TComponent); override;
  26.   end;
  27.  
  28.   TGroupBox = class(TCustomGroupBox)
  29.   published
  30.     property Align;
  31.     property Caption;
  32.     property Color;
  33.     property Ctl3D;
  34.     property DragCursor;
  35.     property DragMode;
  36.     property Enabled;
  37.     property Font;
  38.     property ParentColor;
  39.     property ParentCtl3D;
  40.     property ParentFont;
  41.     property ParentShowHint;
  42.     property PopupMenu;
  43.     property ShowHint;
  44.     property TabOrder;
  45.     property TabStop;
  46.     property Visible;
  47.     property OnClick;
  48.     property OnDblClick;
  49.     property OnDragDrop;
  50.     property OnDragOver;
  51.     property OnEndDrag;
  52.     property OnEnter;
  53.     property OnExit;
  54.     property OnMouseDown;
  55.     property OnMouseMove;
  56.     property OnMouseUp;
  57.   end;
  58.  
  59.   TCustomLabel = class(TGraphicControl)
  60.   protected
  61.     procedure Notification(AComponent: TComponent;
  62.       Operation: TOperation); override;
  63.     procedure Paint; override;
  64.     property Alignment: TAlignment default taLeftJustify;
  65.     property AutoSize: Boolean default True;
  66.     property FocusControl: TWinControl;
  67.     property ShowAccelChar: Boolean default True;
  68.     property Transparent: Boolean default False;
  69.     property WordWrap: Boolean default False;
  70.   public
  71.     constructor Create(AOwner: TComponent); override;
  72.     property Canvas;
  73.   end;
  74.  
  75.   TLabel = class(TCustomLabel)
  76.   published
  77.     property Align;
  78.     property Alignment;
  79.     property AutoSize;
  80.     property Caption;
  81.     property Color;
  82.     property DragCursor;
  83.     property DragMode;
  84.     property Enabled;
  85.     property FocusControl;
  86.     property Font;
  87.     property ParentColor;
  88.     property ParentFont;
  89.     property ParentShowHint;
  90.     property PopupMenu;
  91.     property ShowAccelChar;
  92.     property ShowHint;
  93.     property Transparent;
  94.     property Visible;
  95.     property WordWrap;
  96.     property OnClick;
  97.     property OnDblClick;
  98.     property OnDragDrop;
  99.     property OnDragOver;
  100.     property OnEndDrag;
  101.     property OnMouseDown;
  102.     property OnMouseMove;
  103.     property OnMouseUp;
  104.   end;
  105.  
  106.   TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);
  107.  
  108.   TCustomEdit = class(TWinControl)
  109.   protected
  110.     procedure Change; dynamic;
  111.     procedure CreateParams(var Params: TCreateParams); override;
  112.     procedure CreateWnd; override;
  113.     property AutoSelect: Boolean default True;
  114.     property AutoSize: Boolean default True;
  115.     property BorderStyle: TBorderStyle default bsSingle;
  116.     property CharCase: TEditCharCase default ecNormal;
  117.     property HideSelection: Boolean default True;
  118.     property MaxLength: Integer default 0;
  119.     property OEMConvert: Boolean default False;
  120.     property PasswordChar: Char default #0;
  121.     property ParentColor default False;
  122.     property ReadOnly: Boolean default False;
  123.     property OnChange: TNotifyEvent;
  124.   public
  125.     constructor Create(AOwner: TComponent); override;
  126.     procedure Clear;
  127.     procedure ClearSelection;
  128.     procedure CopyToClipboard;
  129.     procedure CutToClipboard;
  130.     procedure PasteFromClipboard;
  131.     function GetSelTextBuf(Buffer: PChar; BufSize: Integer): Integer;
  132.     procedure SelectAll;
  133.     procedure SetSelTextBuf(Buffer: PChar);
  134.     property Modified: Boolean;
  135.     property SelLength: Integer;
  136.     property SelStart: Integer;
  137.     property SelText: string;
  138.     property Text;
  139.   published
  140.     property TabStop default True;
  141.   end;
  142.  
  143.   TEdit = class(TCustomEdit)
  144.   published
  145.     property AutoSelect;
  146.     property AutoSize;
  147.     property BorderStyle;
  148.     property CharCase;
  149.     property Color;
  150.     property Ctl3D;
  151.     property DragCursor;
  152.     property DragMode;
  153.     property Enabled;
  154.     property Font;
  155.     property HideSelection;
  156.     property ImeMode;
  157.     property MaxLength;
  158.     property OEMConvert;
  159.     property ParentColor;
  160.     property ParentCtl3D;
  161.     property ParentFont;
  162.     property ParentShowHint;
  163.     property PasswordChar;
  164.     property PopupMenu;
  165.     property ReadOnly;
  166.     property ShowHint;
  167.     property TabOrder;
  168.     property TabStop;
  169.     property Text;
  170.     property Visible;
  171.     property OnChange;
  172.     property OnClick;
  173.     property OnDblClick;
  174.     property OnDragDrop;
  175.     property OnDragOver;
  176.     property OnEndDrag;
  177.     property OnEnter;
  178.     property OnExit;
  179.     property OnKeyDown;
  180.     property OnKeyPress;
  181.     property OnKeyUp;
  182.     property OnMouseDown;
  183.     property OnMouseMove;
  184.     property OnMouseUp;
  185.   end;
  186.  
  187.   TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth);
  188.  
  189.   TCustomMemo = class(TCustomEdit)
  190.   protected
  191.     procedure CreateParams(var Params: TCreateParams); override;
  192.     procedure CreateWindowHandle(const Params: TCreateParams); override;
  193.     procedure KeyPress(var Key: Char); override;
  194.     procedure SetAlignment(Value: TAlignment);
  195.     procedure SetLines(Value: TStrings);
  196.     procedure SetScrollBars(Value: TScrollStyle);
  197.     procedure SetWordWrap(Value: Boolean);
  198.     property Alignment: TAlignment default taLeftJustify;
  199.     property ScrollBars: TScrollStyle default ssNone;
  200.     property WantReturns: Boolean default True;
  201.     property WantTabs: Boolean default False;
  202.     property WordWrap: Boolean default True;
  203.   public
  204.     constructor Create(AOwner: TComponent); override;
  205.     destructor Destroy; override;
  206.     property Lines: TStrings;
  207.   end;
  208.  
  209.   TMemo = class(TCustomMemo)
  210.   protected
  211.     procedure DefineProperties(Filer: TFiler); override;
  212.   published
  213.     property Align;
  214.     property Alignment;
  215.     property BorderStyle;
  216.     property Color;
  217.     property Ctl3D;
  218.     property DragCursor;
  219.     property DragMode;
  220.     property Enabled;
  221.     property Font;
  222.     property HideSelection;
  223.     property ImeMode;
  224.     property Lines;
  225.     property MaxLength;
  226.     property OEMConvert;
  227.     property ParentColor;
  228.     property ParentCtl3D;
  229.     property ParentFont;
  230.     property ParentShowHint;
  231.     property PopupMenu;
  232.     property ReadOnly;
  233.     property ScrollBars;
  234.     property ShowHint;
  235.     property TabOrder;
  236.     property TabStop;
  237.     property Visible;
  238.     property WantReturns;
  239.     property WantTabs;
  240.     property WordWrap;
  241.     property OnChange;
  242.     property OnClick;
  243.     property OnDblClick;
  244.     property OnDragDrop;
  245.     property OnDragOver;
  246.     property OnEndDrag;
  247.     property OnEnter;
  248.     property OnExit;
  249.     property OnKeyDown;
  250.     property OnKeyPress;
  251.     property OnKeyUp;
  252.     property OnMouseDown;
  253.     property OnMouseMove;
  254.     property OnMouseUp;
  255.   end;
  256.  
  257.   TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed,
  258.     csOwnerDrawVariable);
  259.   TOwnerDrawState = set of (odSelected, odGrayed, odDisabled, odChecked,
  260.     odFocused);
  261.  
  262.   TDrawItemEvent = procedure(Control: TWinControl; Index: Integer;
  263.     Rect: TRect; State: TOwnerDrawState) of object;
  264.  
  265.   TMeasureItemEvent = procedure(Control: TWinControl; Index: Integer;
  266.     var Height: Integer) of object;
  267.  
  268.   TCustomComboBox = class(TWinControl)
  269.   protected
  270.     FEditHandle: HWnd;
  271.     FListHandle: HWnd;
  272.     FOnChange: TNotifyEvent;
  273.     procedure ComboWndProc(var Message: TMessage; ComboWnd: HWnd;
  274.       ComboProc: Pointer);  virtual;
  275.     procedure WndProc(var Message: TMessage); override;
  276.     procedure CreateParams(var Params: TCreateParams); override;
  277.     procedure CreateWnd; override;
  278.     procedure DestroyWnd; override;
  279.     procedure DrawItem(Index: Integer; Rect: TRect;
  280.       State: TOwnerDrawState); virtual;
  281.     procedure MeasureItem(Index: Integer; var Height: Integer); virtual;
  282.     procedure Change; dynamic;
  283.     procedure DropDown; dynamic;
  284.     property DropDownCount: Integer default 8;
  285.     property ItemHeight: Integer;
  286.     property MaxLength: Integer default 0;
  287.     property ParentColor default False;
  288.     property Sorted: Boolean default False;
  289.     property Style: TComboBoxStyle default csDropDown;
  290.     property OnChange: TNotifyEvent;
  291.     property OnDropDown: TNotifyEvent;
  292.     property OnDrawItem: TDrawItemEvent;
  293.     property OnMeasureItem: TMeasureItemEvent;
  294.   public
  295.     constructor Create(AOwner: TComponent); override;
  296.     destructor Destroy; override;
  297.     procedure Clear;
  298.     procedure SelectAll;
  299.     property Canvas: TCanvas;
  300.     property DroppedDown: Boolean;
  301.     property Items: TStrings;
  302.     property ItemIndex: Integer;
  303.     property SelLength: Integer;
  304.     property SelStart: Integer;
  305.     property SelText: string;
  306.   published
  307.     property TabStop default True;
  308.   end;
  309.  
  310.   TComboBox = class(TCustomComboBox)
  311.   published
  312.     property Style; {Must be published before Items}
  313.     property Color;
  314.     property Ctl3D;
  315.     property DragMode;
  316.     property DragCursor;
  317.     property DropDownCount;
  318.     property Enabled;
  319.     property Font;
  320.     property ImeMode;
  321.     property ItemHeight;
  322.     property Items;
  323.     property MaxLength;
  324.     property ParentColor;
  325.     property ParentCtl3D;
  326.     property ParentFont;
  327.     property ParentShowHint;
  328.     property PopupMenu;
  329.     property ShowHint;
  330.     property Sorted;
  331.     property TabOrder;
  332.     property TabStop;
  333.     property Text;
  334.     property Visible;
  335.     property OnChange;
  336.     property OnClick;
  337.     property OnDblClick;
  338.     property OnDragDrop;
  339.     property OnDragOver;
  340.     property OnDrawItem;
  341.     property OnDropDown;
  342.     property OnEndDrag;
  343.     property OnEnter;
  344.     property OnExit;
  345.     property OnKeyDown;
  346.     property OnKeyPress;
  347.     property OnKeyUp;
  348.     property OnMeasureItem;
  349.   end;
  350.  
  351.   TButtonControl = class(TWinControl)
  352.   protected
  353.     procedure WndProc(var Message: TMessage); override;
  354.   end;
  355.  
  356.   TButton = class(TButtonControl)
  357.   protected
  358.     procedure CreateParams(var Params: TCreateParams); override;
  359.     procedure CreateWnd; override;
  360.     procedure SetButtonStyle(ADefault: Boolean); virtual;
  361.   public
  362.     constructor Create(AOwner: TComponent); override;
  363.     procedure Click; override;
  364.   published
  365.     property Cancel: Boolean default False;
  366.     property Caption;
  367.     property Default: Boolean default False;
  368.     property DragCursor;
  369.     property DragMode;
  370.     property Enabled;
  371.     property Font;
  372.     property ModalResult: TModalResult default 0;
  373.     property ParentFont;
  374.     property ParentShowHint;
  375.     property PopupMenu;
  376.     property ShowHint;
  377.     property TabOrder;
  378.     property TabStop default True;
  379.     property Visible;
  380.     property OnClick;
  381.     property OnDragDrop;
  382.     property OnDragOver;
  383.     property OnEndDrag;
  384.     property OnEnter;
  385.     property OnExit;
  386.     property OnKeyDown;
  387.     property OnKeyPress;
  388.     property OnKeyUp;
  389.     property OnMouseDown;
  390.     property OnMouseMove;
  391.     property OnMouseUp;
  392.   end;
  393.  
  394.   TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed);
  395.  
  396.   TCustomCheckBox = class(TButtonControl)
  397.   protected
  398.     procedure Toggle; virtual;
  399.     procedure CreateParams(var Params: TCreateParams); override;
  400.     procedure CreateWnd; override;
  401.     property Alignment: TLeftRight default taRightJustify;
  402.     property AllowGrayed: Boolean default False;
  403.     property Checked: Boolean;
  404.     property State: TCheckBoxState default cbUnchecked;
  405.   public
  406.     constructor Create(AOwner: TComponent); override;
  407.   published
  408.     property TabStop default True;
  409.   end;
  410.  
  411.   TCheckBox = class(TCustomCheckBox)
  412.   published
  413.     property Alignment;
  414.     property AllowGrayed;
  415.     property Caption;
  416.     property Checked;
  417.     property Color;
  418.     property Ctl3D;
  419.     property DragCursor;
  420.     property DragMode;
  421.     property Enabled;
  422.     property Font;
  423.     property ParentColor;
  424.     property ParentCtl3D;
  425.     property ParentFont;
  426.     property ParentShowHint;
  427.     property PopupMenu;
  428.     property ShowHint;
  429.     property State;
  430.     property TabOrder;
  431.     property TabStop;
  432.     property Visible;
  433.     property OnClick;
  434.     property OnDragDrop;
  435.     property OnDragOver;
  436.     property OnEndDrag;
  437.     property OnEnter;
  438.     property OnExit;
  439.     property OnKeyDown;
  440.     property OnKeyPress;
  441.     property OnKeyUp;
  442.     property OnMouseDown;
  443.     property OnMouseMove;
  444.     property OnMouseUp;
  445.   end;
  446.  
  447.   TRadioButton = class(TButtonControl)
  448.   protected
  449.     procedure SetChecked(Value: Boolean);
  450.     procedure CreateParams(var Params: TCreateParams); override;
  451.     procedure CreateWnd; override;
  452.   public
  453.     constructor Create(AOwner: TComponent); override;
  454.   published
  455.     property Alignment: TLeftRight default taRightJustify;
  456.     property Caption;
  457.     property Checked: Boolean default False;
  458.     property Color;
  459.     property Ctl3D;
  460.     property DragCursor;
  461.     property DragMode;
  462.     property Enabled;
  463.     property Font;
  464.     property ParentColor;
  465.     property ParentCtl3D;
  466.     property ParentFont;
  467.     property ParentShowHint;
  468.     property PopupMenu;
  469.     property ShowHint;
  470.     property TabOrder;
  471.     property TabStop;
  472.     property Visible;
  473.     property OnClick;
  474.     property OnDblClick;
  475.     property OnDragDrop;
  476.     property OnDragOver;
  477.     property OnEndDrag;
  478.     property OnEnter;
  479.     property OnExit;
  480.     property OnKeyDown;
  481.     property OnKeyPress;
  482.     property OnKeyUp;
  483.     property OnMouseDown;
  484.     property OnMouseMove;
  485.     property OnMouseUp;
  486.   end;
  487.  
  488.   TListBoxStyle = (lbStandard, lbOwnerDrawFixed, lbOwnerDrawVariable);
  489.  
  490.   TCustomListBox = class(TWinControl)
  491.   protected
  492.     procedure CreateParams(var Params: TCreateParams); override;
  493.     procedure CreateWnd; override;
  494.     procedure DestroyWnd; override;
  495.     procedure WndProc(var Message: TMessage); override;
  496.     procedure DragCanceled; override;
  497.     procedure DrawItem(Index: Integer; Rect: TRect;
  498.       State: TOwnerDrawState); virtual;
  499.     procedure MeasureItem(Index: Integer; var Height: Integer); virtual;
  500.     property BorderStyle: TBorderStyle default bsSingle;
  501.     property Columns: Integer default 0;
  502.     property ExtendedSelect: Boolean default True;
  503.     property IntegralHeight: Boolean default False;
  504.     property ItemHeight: Integer;
  505.     property MultiSelect: Boolean default False;
  506.     property ParentColor default False;
  507.     property Sorted: Boolean default False;
  508.     property Style: TListBoxStyle default lbStandard;
  509.     property OnDrawItem: TDrawItemEvent;
  510.     property OnMeasureItem: TMeasureItemEvent;
  511.   public
  512.     constructor Create(AOwner: TComponent); override;
  513.     destructor Destroy; override;
  514.     procedure Clear;
  515.     function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;
  516.     function ItemRect(Index: Integer): TRect;
  517.     property Canvas: TCanvas;
  518.     property Items: TStrings;
  519.     property ItemIndex: Integer;
  520.     property SelCount: Integer;
  521.     property Selected[Index: Integer]: Boolean;
  522.     property TopIndex: Integer;
  523.   published
  524.     property TabStop default True;
  525.   end;
  526.  
  527.   TListBox = class(TCustomListBox)
  528.   published
  529.     property Align;
  530.     property BorderStyle;
  531.     property Color;
  532.     property Columns;
  533.     property Ctl3D;
  534.     property DragCursor;
  535.     property DragMode;
  536.     property Enabled;
  537.     property ExtendedSelect;
  538.     property Font;
  539.     property IntegralHeight;
  540.     property ItemHeight;
  541.     property Items;
  542.     property MultiSelect;
  543.     property ParentColor;
  544.     property ParentCtl3D;
  545.     property ParentFont;
  546.     property ParentShowHint;
  547.     property PopupMenu;
  548.     property ShowHint;
  549.     property Sorted;
  550.     property Style;
  551.     property TabOrder;
  552.     property TabStop;
  553.     property Visible;
  554.     property OnClick;
  555.     property OnDblClick;
  556.     property OnDragDrop;
  557.     property OnDragOver;
  558.     property OnDrawItem;
  559.     property OnEndDrag;
  560.     property OnEnter;
  561.     property OnExit;
  562.     property OnKeyDown;
  563.     property OnKeyPress;
  564.     property OnKeyUp;
  565.     property OnMeasureItem;
  566.     property OnMouseDown;
  567.     property OnMouseMove;
  568.     property OnMouseUp;
  569.   end;
  570.  
  571.   TScrollCode = (scLineUp, scLineDown, scPageUp, scPageDown, scPosition,
  572.     scTrack, scTop, scBottom, scEndScroll);
  573.  
  574.   TScrollEvent = procedure(Sender: TObject; ScrollCode: TScrollCode;
  575.     var ScrollPos: Integer) of object;
  576.  
  577.   TScrollBar = class(TWinControl)
  578.   protected
  579.     procedure CreateParams(var Params: TCreateParams); override;
  580.     procedure CreateWnd; override;
  581.     procedure Change; dynamic;
  582.     procedure Scroll(ScrollCode: TScrollCode; var ScrollPos: Integer); dynamic;
  583.   public
  584.     constructor Create(AOwner: TComponent); override;
  585.     procedure SetParams(APosition, AMin, AMax: Integer);
  586.   published
  587.     property Ctl3D;
  588.     property DragCursor;
  589.     property DragMode;
  590.     property Enabled;
  591.     property Kind: TScrollBarKind default sbHorizontal;
  592.     property LargeChange: TScrollBarInc default 1;
  593.     property Max: Integer default 100;
  594.     property Min: Integer default 0;
  595.     property ParentCtl3D;
  596.     property ParentShowHint;
  597.     property PopupMenu;
  598.     property Position: Integer default 0;
  599.     property ShowHint;
  600.     property SmallChange: TScrollBarInc default 1;
  601.     property TabOrder;
  602.     property TabStop default True;
  603.     property Visible;
  604.     property OnChange: TNotifyEvent;
  605.     property OnDragDrop;
  606.     property OnDragOver;
  607.     property OnEndDrag;
  608.     property OnEnter;
  609.     property OnExit;
  610.     property OnKeyDown;
  611.     property OnKeyPress;
  612.     property OnKeyUp;
  613.     property OnScroll: TScrollEvent;
  614.   end;
  615.  
  616. implementation
  617.